草庐IT

java - 在测试类之前和之后使 ApplicationContext 变脏

全部标签

javascript - 如何测试 Node 数据分块功能

我正在开发一个使用Node的项目,我们正在努力实现100%的功能覆盖。这是我们唯一没有测试过的函数,它在另一个函数中。varuserInput="";req.on("data",function(data){userInput+=data;});你如何着手测试这个功能?我们尝试从另一个文件导出函数,但没有成功。我应该提一下,我们正在使用磁带作为测试模块。 最佳答案 您需要根据请求触发此“数据”事件。这样这个回调就会被调用。例如,假设您的测试中有req,您可以做类似的事情(这是Mocha):req.trigger('data','sa

javascript - 在 Reactjs 中测试窗口按键事件

我正在编写的组件需要根据是否按下ctrl来更改其行为。我使用了window.onkeydown事件,但是ReactTestUtils中的Simulate不允许我针对window发送事件。我也尝试过window.dispatchEvent(newKeyboardEvent('keydown',{keyCode:17}));但mocha/node无法识别KeyboardEvent。有没有办法使用ReactTestUtils测试window.onkeydown?如果没有,有没有更好的方法在节点的摩卡中做到这一点?下面是一些代码来说明这个问题:describe('OnKeydown',()=>

javascript - 为什么我的 jest 测试在本地运行,而不是在 Travis 上运行?

我有一个使用ES6以及import和export的简单javascript项目。这是我的.babelrc文件{"env":{"es":{"presets":[["env",{"targets":{"browsers":["last2versions"],"node":"current"},"modules":false}]],"ignore":["**/*.test.js","**/tests/*"]},"test":{"presets":["env"]},"cjs":{"presets":[["env",{"targets":{"browsers":["last2versions"]

javascript - 如何近似Java的Character.isLetterOrDigit()来识别Javascript中的非英文字母、数字?

在Javascript中,是否有一种方法(在国际化后仍然存在)来确定字符是字母还是数字?这将正确地将Ä、ç识别为字母和非英语数字(我不打算将其作为示例查找)!在Java中,Character类有一些静态方法.isLetter()、.isDigit()、.isLetterOrDigit(),用于以国际通用的方式确定字符实际上是字母还是数字。这比像这样的代码要好//thisisnotright,butcommonandeasyif((ch>='A'&&ch='a'&&ch因为它会拾取非英文字母。我认为C#具有类似的功能...当然,在最坏的情况下,我可以将字符串发送回服务器进行检查,但这很痛

javascript - 如果Object.prototype被修改,如何测试对象是否为 "isEmpty()"?

我想测试一个对象是否为空:{}。通常使用以下内容:functionisEmpty(obj){for(varpropinobj){if(obj.hasOwnProperty(prop))returnfalse;}returntrue;}但假设Object原型(prototype)被添加到如下:Object.prototype.Foo="bar";测试:alert(isEmpty({}));//trueObject.prototype.Foo="bar";alert({}.Foo);//"bar"ohno...alert(isEmpty({}));//true...**huh?!**我试图

javascript - grunt 没有在 phantom 上运行 QUnit 测试

我有一个repository它与travis集成在一起。我有QUnit测试,我想从grunt/node服务器端和AMD(requirejs)运行。这是我的AMDinit.js的来源:(function(){require.config({baseUrl:"../src"});require(["../test/suites/basic",'../test/qunit-extend','qunit'],function(BasicTests){QUnit.config.autoload=false;QUnit.config.autostart=false;BasicTests.run()

javascript - Console.log 在使用 grunt 服务器的 Qunit 测试中不起作用

我正在创建在grunt服务器上运行的Qunit测试。在测试中,当我尝试使用“console.log”将一些输出记录到控制台时,它不会在控制台中打印任何内容。目前我只能使用OK来执行断言。请提供您的意见。 最佳答案 如果您在grunt中使用qunit任务,则需要使用--debug(即grunttest--debug)启动任务。然后,您将看到幻影日志以下列格式打印出您的控制台日志:[D]["phantomjs","console","MIXPANELPEOPLEREQUEST(QUEUED,PENDINGIDENTIFY):"]Seed

javascript - 卸载事件处理程序是否保证在加载下一页之前完成执行?

我正在尝试了解卸载事件的工作原理。当用户移动到另一个页面时,我正在使用$(window).unload()处理程序将几个自定义值的列表发送到我的分析服务。我为每个值对服务进行单独的API调用。我只是想知道我是否可以依赖我的处理程序每​​次都运行直到它完成,或者在某些情况下加载下一页的JavaScript会在它可以注册所有值之前中断它列表。jQuerydocumentation在.unload()上说“无法使用.preventDefault()取消卸载事件。”对我来说,这意味着在浏览器开始执行您的卸载处理程序后,没有办法阻止它加载、解析和执行新页面的JS。但是MDNpage在window

javascript - AngularJS - 在 Jasmine 测试用例中模拟 ngTableParams

我已经使用ng-table创建了一个应用程序,该应用程序工作正常,但是当我编写一个jasmine测试用例时,我得到了。Error:[$injector:unpr]Unknownprovider:TableParamsProvider谁能告诉我如何模拟ngTableParams并测试其功能我的代码如下Jasmine测试用例describe('TestingControllers',function(){describe('TestingWorkControllerController',function(){varWorkController,$scope;beforeEach(modu

javascript - Protractor - 无法运行 Protractor 测试

我的测试抛出以下错误。它以前运行良好。请指教。我的配置文件:exports.config={seleniumAddress:'http://localhost:4444/wd/hub',allScriptsTimeout:20000,baseUrl:'https://mylink/#/',//frameworkstouseframeworks:['jasmine'],//Capabilitiestobepassedtothewebdriverinstance.multiCapabilities:[{'browserName':'chrome'//},{//'browserName':'